There are often competing interests in setting up a network. For example, high performance (e.g. high throughput, low latency, high reliability, etc.) in a network usually implies that the network will use more power, and so a low power usage implies lower performance. However, often it is desirable to have both high throughput and low power usage. For example, it is desirable that a camera placed at a remote location can send many pictures to the monitoring station (i.e. high throughput) without frequent trips to the remote location to change the battery that powers the camera and network node. It would be beneficial to be able to configure a network to be able to provide maximum performance despite constraints (e.g. available power).